জাভাস্ক্রিপ্টের Map
একটি ডেটা স্ট্রাকচার যা কী-ভ্যালু (Key-Value) পেয়ার ধারণ করতে ব্যবহার করা হয়। এটি একটি অবজেক্টের মতো কাজ করে, তবে Map
-এর কিছু অতিরিক্ত সুবিধা রয়েছে। Map
-এ যেকোনো ধরনের ডেটা (অবজেক্ট, অ্যারে, স্ট্রিং, ইত্যাদি) কী বা ভ্যালু হিসেবে ব্যবহার করা যায়। এটি মূলত দ্রুত এবং আরও কার্যকর কী-ভ্যালু স্টোরেজের জন্য ব্যবহৃত হয়।
Map
তৈরি করাMap
তৈরি করতে new Map()
কনস্ট্রাক্টর ব্যবহার করা হয়।
let map = new Map();
এখানে একটি ফাঁকা Map
তৈরি করা হয়েছে।
Map
এর বৈশিষ্ট্যMap
-এ নতুন কী-ভ্যালু জোড়া যুক্ত করতে .set()
মেথড ব্যবহার করা হয়:
let userRoles = new Map();
userRoles.set("admin", "John");
userRoles.set("editor", "Jane");
console.log(userRoles);
// আউটপুট: Map { "admin" => "John", "editor" => "Jane" }
Map
থেকে একটি নির্দিষ্ট কী-এর মান পেতে .get()
মেথড ব্যবহার করা হয়:
let roles = new Map();
roles.set("admin", "John");
console.log(roles.get("admin"));
// আউটপুট: John
Map
-এ একটি কী বিদ্যমান কিনা তা যাচাই করতে .has()
মেথড ব্যবহার করা হয়:
let roles = new Map();
roles.set("admin", "John");
console.log(roles.has("admin"));
// আউটপুট: true
console.log(roles.has("editor"));
// আউটপুট: false
Map
থেকে একটি নির্দিষ্ট কী-ভ্যালু পেয়ার সরাতে .delete()
মেথড ব্যবহার করা হয়:
let roles = new Map();
roles.set("admin", "John");
roles.delete("admin");
console.log(roles);
// আউটপুট: Map {}
Map
পরিষ্কার করাMap
থেকে সমস্ত কী-ভ্যালু জোড়া মুছে ফেলতে .clear()
মেথড ব্যবহার করা হয়:
let roles = new Map();
roles.set("admin", "John");
roles.clear();
console.log(roles);
// আউটপুট: Map {}
Map
এর আকার জানাMap
এর মোট কী-ভ্যালু জোড়ার সংখ্যা জানতে .size
প্রপার্টি ব্যবহার করা হয়:
let roles = new Map();
roles.set("admin", "John");
roles.set("editor", "Jane");
console.log(roles.size);
// আউটপুট: 2
Map
-এ লুপ করাMap
এর কী এবং ভ্যালুতে লুপ করার জন্য for...of
লুপ বা .forEach()
মেথড ব্যবহার করা যায়।
for...of
লুপlet roles = new Map([
["admin", "John"],
["editor", "Jane"]
]);
for (let [key, value] of roles) {
console.log(`${key}: ${value}`);
}
// আউটপুট:
// admin: John
// editor: Jane
.forEach()
মেথডroles.forEach((value, key) => {
console.log(`${key}: ${value}`);
});
// আউটপুট:
// admin: John
// editor: Jane
অবজেক্ট এবং Map
উভয়ই কী-ভ্যালু পেয়ার ধারণ করতে পারে, তবে তাদের মধ্যে কিছু পার্থক্য রয়েছে:
বৈশিষ্ট্য | অবজেক্ট (Object) | ম্যাপ (Map) |
---|---|---|
কী-টাইপ | শুধুমাত্র স্ট্রিং বা সিম্বল। | যেকোনো ডেটা টাইপ। |
উপাদানের সংখ্যা | গণনা করতে লুপ প্রয়োজন। | .size প্রপার্টি ব্যবহার করে তাৎক্ষণিক গণনা। |
ক্রমানুসার | কী-ভ্যালু ক্রম অপ্রত্যাশিত। | কী-ভ্যালু ইনসার্ট করা ক্রম অনুযায়ী। |
পারফরম্যান্স | বড় ডেটার ক্ষেত্রে ধীর। | বড় ডেটার ক্ষেত্রে দ্রুত। |
Map
একটি শক্তিশালী ডেটা স্ট্রাকচার যা কী-ভ্যালু পেয়ার সংরক্ষণ এবং পরিচালনার জন্য আরও কার্যকর। এটি অবজেক্টের তুলনায় বেশি ফ্লেক্সিবল এবং দ্রুত। Map
এর .set()
, .get()
, .has()
, .delete()
এবং .size
প্রপার্টি ও মেথড ব্যবহার করে সহজেই ডেটা পরিচালনা করা যায়। Map
এমন পরিস্থিতিতে আদর্শ যেখানে আপনাকে কী-ভ্যালু পেয়ার খুবই নির্ভুল এবং দ্রুততার সাথে ম্যানেজ করতে হবে।
Read more